home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 351-375 / disk_360 / uucp / uucp0.lzh / src / lib / seq.c < prev    next >
C/C++ Source or Header  |  1990-05-08  |  865b  |  52 lines

  1.  
  2. /*
  3.  *  SEQ.C
  4.  *
  5.  *  $Header: Beta:src/uucp/src/lib/RCS/seq.c,v 1.1 90/02/02 12:08:40 dillon Exp Locker: dillon $
  6.  *
  7.  *  (C) Copyright 1989-1990 by Matthew Dillon,  All Rights Reserved.
  8.  *
  9.  *  Returns a unique sequence number
  10.  */
  11.  
  12. #include <stdio.h>
  13. #include "config.h"
  14.  
  15. Prototype int GetSequence(int);
  16.  
  17. int
  18. GetSequence(bump)
  19. int bump;
  20. {
  21.     char *seqLockFile = "seq";
  22.     FILE *fp;
  23.     char *fileName = MakeConfigPath(UULIB, "seq");
  24.     int seq;
  25.     char buf[32];
  26.  
  27.     LockFile(seqLockFile);
  28.     fp = fopen(fileName, "r");
  29.     if (fp) {
  30.     fgets(buf, 32, fp);
  31.     seq = atoi(buf);
  32.     fclose(fp);
  33.     } else {
  34.     perror(fileName);
  35.     seq = -1;
  36.     }
  37.  
  38.     if (bump && seq >= 0) {
  39.     fp = fopen(fileName, "w");
  40.     if (fp) {
  41.         fprintf(fp,"%d", seq + bump);
  42.         fclose(fp);
  43.     } else {
  44.         perror(fileName);
  45.         seq = -1;
  46.     }
  47.     }
  48.     UnLockFile(seqLockFile);
  49.     return(seq);
  50. }
  51.  
  52.